This invention relates to a device allowing the use of a programmable component in a natural radiative environment. It applies, in particular, to components of FPGA (acronym for “Field-Programmable Gate Array” for a network of gates programmable in-situ) type.
The main source of radiation is linked to the galactic radiation of the sun. The flux of this radiation changes according to the altitude and the latitude, through the effect of the magnetosphere, of the atmosphere and of the Van Allen belt, for example, which constitute obstacles and filters. In space and at high altitude, this radiation comprises mainly protons and heavy ions and, in the atmosphere, neutrons are dominant.
At sea level, the flux of the neutrons is approximately 300 times lower than what it is at an altitude of ten kilometers. Nonetheless, even at ground level, problems linked to this radiation, called “SEE” (acronym for “Single Event Effect” for effect of a single event) are noted on some systems, because of the increasing integration of the components. This matter is likely to become a stake in the years to come.
The unusual effects linked to radiations correspond to the phenomena triggered by the passage of a single particle. Among these effects, there are seen transitory defects or software errors, known under the name of “SEU” (acronym for “Single Event Upset” for disruption through a single event) which consists in an undesirable modification of the information provided by an electronic component, without impairment of the latter, under the effect of a high-energy particle.
Compared with the heavy ions, the neutrons do not deposit their energy directly. They must interact with silicon in order to produce secondary ions. All the ions deposit charges in silicon and produce a SEE in the electronic component.
The integration and the computing capacity required on on-board computers impose the use of a complex component such as FPGA, CPLD (acronym for “Complex Programmable Logic Device” for complex programmable logic circuit) and ASIC (acronym for “Application-Specific Integrated Circuit” for an integrated circuit specific to an application).
The FPGA are very widely used in electronics, because they provide a very favorable resources-cost ratio. The FPGA technologies are classified according to the three following types:                anti-fuse,        flash and        RAM-based (RAM being the acronym for “Random Access Memory” for a memory with random access).        
To date, in order to overcome the problem of the impact of cosmic Neutrons, called “SEU” (acronym for “Single event upset” for disruption through a single event) in natural radiative environments, the first two technologies cited often are used, because they are fault tolerant.
In order to guard against the impact of natural radiative radiation in electronics, one of the solutions is to use FPGA components of anti-fuse or flash technology. These components, by virtue of their technology and cell etching, are sturdy as regards “bits flips” and, consequently, no protection is required.
Nonetheless their drawbacks include that:                certain technologies such as anti-fuse do not allow reprogramming of the component; the component then must be unsoldered and changed in the event of development;        there are few suppliers and therefore a difficult management of dissimilarity;        because of the technology, the performances, in particular in terms of frequencies, are limited;        because of the technology, the matrices offered are limited;        the tools are less innovative, because they have fewer users and therefore fewer correctors (“debuggers”).        
The RAM-based type FPGA, through its technology, is high performance, offers significant logic matrices and an in-situ reprogramming (on a board). For this reason, it is used extensively in industry. Nonetheless, it has the drawback of being sensitive to the “bit-flip,” that is to say change in value of a binary unit, or bit, which to date makes its use difficult in radiative environments.
The document U.S. Pat. No. 7,036,059 describes a programmable component provided with redundant logic functions and means for detection of errors in one of these logic functions. Nonetheless, the redundancy of the logic functions imposes considerable complexity and cost for programmable components.
This invention is intended to remedy these drawbacks.